The histogram shows the frequency distribution of a sample by class. A class describes a value interval in which the individual frequencies are added together. After specifying the number of classes, the class width and the respective class center are calculated. The number of classes is limited to 15.
The distribution is represented as a rectangle around the class mean with the class width and the cumulated frequency as height.
Figure: Distribution
To visualize the Boxplot, the Siemens Industry Online Support offers you a Net-Control, which you can use in conjunction with WinCC Runtime Professional. You can find the controls in the UserFiles
folder of this library.
Figure: .Net Control "Histogram"
LGF_Histogram_DInt (FB) | ||||||||
---|---|---|---|---|---|---|---|---|
Bool | execute | error | Bool | |||||
UInt | numberOfClasses | status | Word | |||||
subFunctionStatus | Word | |||||||
histValues | Array[0..1, 0..#CLASSES_COUNTER_UP_LIMIT] of LReal | |||||||
axis | Array[0..3] of LReal | |||||||
classWidth | LReal | |||||||
Array[*] of DInt | values | Array[*] of DInt | ||||||
Identifier | Data type | Default value | Description |
---|---|---|---|
execute | Bool | FALSE | Activation of the calculation with each positive edge. |
numberOfClasses | UInt | 0 | Number of desired classes. |
Identifier | Data type | Description |
---|---|---|
error | Bool | FALSE: No error TRUE: An error occurred during the execution of the FB |
status | Word | 16#0000-16#7FFF: Status of the FB 16#8000-16#FFFF: Error identification (see following Table) |
subFunctionStatus | Word | Status or return value of called FB's, FC's and system blocks |
histValues | Array[0..1, 0..#CLASSES_COUNTER_UP_LIMIT] of LReal | Outputs the calculated values in a two-dimensional array. • `histValues[0,0..14]` displays the relative frequency of the individual classes. • `histValues[1,0..14]` displays the class centers. • If fewer than 15 classes are desired, the array elements that are not required are output with 0. |
axis | Array[0..3] of LReal | Specifies the axis values: • Lower X axis value • Upper X axis value • Lower Y axis value • Upper Y axis value |
classWidth | LReal | Returns the calculated class width. |
Identifier | Data type | Description |
---|---|---|
values | Array[*] of DInt | The array containing the data series that is to be used for the calculation |
Code / Value | Identifier / Description |
---|---|
16#0000 | STATUS_EXECUTION_FINISHED Status: Execution finished without errors |
16#7000 | STATUS_NO_CALL Status: No call of FB. The block waits for activation through the parameter `enable`. |
16#7001 | STATUS_FIRST_CALL Status: First call of FB after enabling |
16#8600 | ERR_SHELL_SORT Error: Error in command `LGF_ShellSort_DInt`. Check `subFunctionStatus` code |
16#9101 | ERR_WRONG_NO_CLASSES Error: Incorrect number of classes. Give the parameter `numberOfClasses` a valid value (1 to 15). |
The block sorts the transferred data and calculates the general class width using the transferred class count and data range. The block then counts the values that lie within a class. In order to draw a histogram, the block also calculates the necessary X and Y coordinates.
The elements of the passed array values
are sorted in ascending order by the block. The LGF_Shellsort_UDInt
block is used for sorting.
The number of classes can be specified using the following rule of thumb:
Number~of~classes = \sqrt{number~of~elements}e.g. 100 values --> Number~of~classes = \sqrt{100} = 10
The block uses the following formula to calculate the class width:
classWidth = \frac{max - min}{Number~of~classes}Version & Date | Change description | |
---|---|---|
01.00.00 | Siemens Industry Online Support | |
23.11.2018 | First released version | |
02.00.00 | Simatic Systems Support | |
06.11.2019 | Code refactoring, comments added | |
03.00.00 | Simatic Systems Support | |
23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library | |
03.00.01 | Simatic Systems Support | |
06.04.2021 | Insert documentation |